﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000989 RID: 2441
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class ItemCost : IMessage<ItemCost>, IMessage, IEquatable<ItemCost>, IDeepCloneable<ItemCost>, IBufferMessage
	{
		// Token: 0x17001EED RID: 7917
		// (get) Token: 0x06006D99 RID: 28057 RVA: 0x00125C65 File Offset: 0x00123E65
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<ItemCost> Parser
		{
			get
			{
				return ItemCost._parser;
			}
		}

		// Token: 0x17001EEE RID: 7918
		// (get) Token: 0x06006D9A RID: 28058 RVA: 0x00125C6C File Offset: 0x00123E6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ItemCostReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17001EEF RID: 7919
		// (get) Token: 0x06006D9B RID: 28059 RVA: 0x00125C7E File Offset: 0x00123E7E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return ItemCost.Descriptor;
			}
		}

		// Token: 0x06006D9C RID: 28060 RVA: 0x00125C85 File Offset: 0x00123E85
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemCost()
		{
		}

		// Token: 0x06006D9D RID: 28061 RVA: 0x00125C90 File Offset: 0x00123E90
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemCost(ItemCost other) : this()
		{
			this.pileItem_ = ((other.pileItem_ != null) ? other.pileItem_.Clone() : null);
			this.equipmentUniqueId_ = other.equipmentUniqueId_;
			this.relicUniqueId_ = other.relicUniqueId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06006D9E RID: 28062 RVA: 0x00125CE8 File Offset: 0x00123EE8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemCost Clone()
		{
			return new ItemCost(this);
		}

		// Token: 0x17001EF0 RID: 7920
		// (get) Token: 0x06006D9F RID: 28063 RVA: 0x00125CF0 File Offset: 0x00123EF0
		// (set) Token: 0x06006DA0 RID: 28064 RVA: 0x00125CF8 File Offset: 0x00123EF8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PileItem PileItem
		{
			get
			{
				return this.pileItem_;
			}
			set
			{
				this.pileItem_ = value;
			}
		}

		// Token: 0x17001EF1 RID: 7921
		// (get) Token: 0x06006DA1 RID: 28065 RVA: 0x00125D01 File Offset: 0x00123F01
		// (set) Token: 0x06006DA2 RID: 28066 RVA: 0x00125D09 File Offset: 0x00123F09
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint EquipmentUniqueId
		{
			get
			{
				return this.equipmentUniqueId_;
			}
			set
			{
				this.equipmentUniqueId_ = value;
			}
		}

		// Token: 0x17001EF2 RID: 7922
		// (get) Token: 0x06006DA3 RID: 28067 RVA: 0x00125D12 File Offset: 0x00123F12
		// (set) Token: 0x06006DA4 RID: 28068 RVA: 0x00125D1A File Offset: 0x00123F1A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RelicUniqueId
		{
			get
			{
				return this.relicUniqueId_;
			}
			set
			{
				this.relicUniqueId_ = value;
			}
		}

		// Token: 0x06006DA5 RID: 28069 RVA: 0x00125D23 File Offset: 0x00123F23
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as ItemCost);
		}

		// Token: 0x06006DA6 RID: 28070 RVA: 0x00125D34 File Offset: 0x00123F34
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(ItemCost other)
		{
			return other != null && (other == this || (object.Equals(this.PileItem, other.PileItem) && this.EquipmentUniqueId == other.EquipmentUniqueId && this.RelicUniqueId == other.RelicUniqueId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06006DA7 RID: 28071 RVA: 0x00125D94 File Offset: 0x00123F94
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.pileItem_ != null)
			{
				num ^= this.PileItem.GetHashCode();
			}
			if (this.EquipmentUniqueId != 0U)
			{
				num ^= this.EquipmentUniqueId.GetHashCode();
			}
			if (this.RelicUniqueId != 0U)
			{
				num ^= this.RelicUniqueId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06006DA8 RID: 28072 RVA: 0x00125E02 File Offset: 0x00124002
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06006DA9 RID: 28073 RVA: 0x00125E0A File Offset: 0x0012400A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06006DAA RID: 28074 RVA: 0x00125E14 File Offset: 0x00124014
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.EquipmentUniqueId != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.EquipmentUniqueId);
			}
			if (this.pileItem_ != null)
			{
				output.WriteRawTag(66);
				output.WriteMessage(this.PileItem);
			}
			if (this.RelicUniqueId != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.RelicUniqueId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06006DAB RID: 28075 RVA: 0x00125E8C File Offset: 0x0012408C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.pileItem_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.PileItem);
			}
			if (this.EquipmentUniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.EquipmentUniqueId);
			}
			if (this.RelicUniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RelicUniqueId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06006DAC RID: 28076 RVA: 0x00125EFC File Offset: 0x001240FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(ItemCost other)
		{
			if (other == null)
			{
				return;
			}
			if (other.pileItem_ != null)
			{
				if (this.pileItem_ == null)
				{
					this.PileItem = new PileItem();
				}
				this.PileItem.MergeFrom(other.PileItem);
			}
			if (other.EquipmentUniqueId != 0U)
			{
				this.EquipmentUniqueId = other.EquipmentUniqueId;
			}
			if (other.RelicUniqueId != 0U)
			{
				this.RelicUniqueId = other.RelicUniqueId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06006DAD RID: 28077 RVA: 0x00125F78 File Offset: 0x00124178
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06006DAE RID: 28078 RVA: 0x00125F84 File Offset: 0x00124184
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 56U)
				{
					if (num != 66U)
					{
						if (num != 96U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.RelicUniqueId = input.ReadUInt32();
						}
					}
					else
					{
						if (this.pileItem_ == null)
						{
							this.PileItem = new PileItem();
						}
						input.ReadMessage(this.PileItem);
					}
				}
				else
				{
					this.EquipmentUniqueId = input.ReadUInt32();
				}
			}
		}

		// Token: 0x040029C1 RID: 10689
		private static readonly MessageParser<ItemCost> _parser = new MessageParser<ItemCost>(() => new ItemCost());

		// Token: 0x040029C2 RID: 10690
		private UnknownFieldSet _unknownFields;

		// Token: 0x040029C3 RID: 10691
		public const int PileItemFieldNumber = 8;

		// Token: 0x040029C4 RID: 10692
		private PileItem pileItem_;

		// Token: 0x040029C5 RID: 10693
		public const int EquipmentUniqueIdFieldNumber = 7;

		// Token: 0x040029C6 RID: 10694
		private uint equipmentUniqueId_;

		// Token: 0x040029C7 RID: 10695
		public const int RelicUniqueIdFieldNumber = 12;

		// Token: 0x040029C8 RID: 10696
		private uint relicUniqueId_;
	}
}
